---
title: 실험적 Markdown 제목 ID 호환
sidebar:
  label: Markdown 제목 ID 호환
---

import Since from '~/components/Since.astro'

<p>

**타입:** `boolean`<br />
**기본값:** `false`<br />
<Since v="5.5.0" />
</p>

`experimental.headingIdCompat` 플래그는 Astro가 Markdown 제목에 대해 생성하는 ID를 GitHub 및 npm과 같은 일반적인 플랫폼과 호환되게 만듭니다.

제목 ID 호환성을 활성화하려면 Astro 구성에서 플래그를 `true`로 설정하세요.

```js title="astro.config.mjs" ins={4-6}
import { defineConfig } from "astro/config"

export default defineConfig({
  experimental: {
    headingIdCompat: true,
  }
})
```

## 사용법

이 실험적 플래그를 사용하면 특수 문자로 끝나는 Markdown 제목의 ID 끝에 후행 하이픈을 유지하여 다른 일반적인 플랫폼에서 생성된 ID와 호환되는 ID를 만들 수 있습니다. 특별한 사용법이 필요하지 않으며 Astro가 Markdown 구문을 사용하여 작성된 제목의 `id`를 생성하는 방식에만 영향을 줍니다.

많은 플랫폼과 마찬가지로 Astro는 [`github-slugger`](https://github.com/Flet/github-slugger) 패키지를 사용하여 Markdown 제목의 텍스트 콘텐츠를 ID에 사용할 슬러그로 변환합니다. 이 실험적 플래그를 사용하면 특수 문자로 끝나는 제목의 ID 끝에서 후행 하이픈을 제거하는 Astro의 추가 기본 처리 단계를 생략할 수 있습니다.

예를 들어 다음 Markdown 제목은 다음과 같습니다.

```md
## `<Picture />`
```

이는 기본적으로 Astro에서 다음 HTML을 생성합니다.

```html "picture"
<h2 id="picture"><code>&lt;Picture /&gt;</h2>
```

`experimental.headingIdCompat`를 사용하면 동일한 Markdown이 다음 HTML을 생성합니다. 이는 GitHub와 같은 플랫폼과 동일합니다.


```html "picture-"
<h2 id="picture-"><code>&lt;Picture /&gt;</h2>
```

향후 메이저 버전에서 Astro가 호환되는 ID 스타일을 기본적으로 사용하도록 전환하지만 `experimental.headingIdCompat` 플래그를 사용하여 미래 동작을 미리 선택할 수 있습니다.

## `rehypeHeadingIds` 플러그인과 함께 사용

[`rehypeHeadingIds` 플러그인을 직접 사용하는 경우](/ko/guides/markdown-content/#제목-id와-플러그인) Astro 구성에서 플러그인을 전달할 때 호환성 모드를 선택하세요.

```js title="astro.config.mjs" {8}
import { defineConfig } from 'astro/config';
import { rehypeHeadingIds } from '@astrojs/markdown-remark';
import { otherPluginThatReliesOnHeadingIDs } from 'some/plugin/source';

export default defineConfig({
  markdown: {
    rehypePlugins: [
      [rehypeHeadingIds, { headingIdCompat: true }],
      otherPluginThatReliesOnHeadingIDs,
    ],
  },
});
```
